#ifndef IEXPRESSION_H
#define IEXPRESSION_H

#include "iidentifiable.h"

#include <coretypes.h>

namespace core
{
class Type;
}

namespace net
{

class IExpression : public IIdentifiable
{
public:
    IExpression() : IIdentifiable() {}

    virtual const core::TypeName returns() const = 0;
    virtual core::Type* eval() = 0;

protected:
    virtual ~IExpression() {}
};

} // namespace net
#endif
